{"version":3,"file":"static/chunks/pages/category/articles/[...archive]-4ed5ede46dde2fa1.js","mappings":"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","sources":["webpack://_N_E/?121a","webpack://_N_E/./public/caret-down-dark.svg","webpack://_N_E/./public/caret-down-light.svg","webpack://_N_E/./components/Pagination.js","webpack://_N_E/./components/newsPickSelect/NewsPickSelect.js","webpack://_N_E/./hooks/useKeyPress.js","webpack://_N_E/./pages/category/articles/[...archive].js","webpack://_N_E/./utilities/image.js"],"sourcesContent":["\n    (window.__NEXT_P = window.__NEXT_P || []).push([\n      \"/category/articles/[...archive]\",\n      function () {\n        return require(\"private-next-pages/category/articles/[...archive].js\");\n      }\n    ]);\n    if(module.hot) {\n      module.hot.dispose(function () {\n        window.__NEXT_P.push([\"/category/articles/[...archive]\"])\n      });\n    }\n  ","export default {\"src\":\"/_next/static/media/caret-down-dark.d6a17d9e.svg\",\"height\":20,\"width\":20,\"blurWidth\":0,\"blurHeight\":0};","export default {\"src\":\"/_next/static/media/caret-down-light.06cdde0a.svg\",\"height\":20,\"width\":20,\"blurWidth\":0,\"blurHeight\":0};","import Link from \"next/link\";\n\nimport { getPageNumbers } from \"@/utilities/pagination\";\n\nconst Pagination = ({ basePath, currentPage, params = \"\", totalPages }) => {\n  // Generate visible page numbers\n  const pages = getPageNumbers(currentPage, totalPages);\n\n  // Create page link\n  function getPageLink(page) {\n    if (page === 1) {\n      return `${basePath}${params}`;\n    }\n    return `${basePath}/page/${page}${params}`;\n  }\n\n  function getPageClassName(page) {\n    return page === currentPage\n      ? \"block p-4  bg-blue text-white leading-[1]\"\n      : \"block p-4 text-blue focus:text-white focus:bg-blue hover:text-white hover:bg-blue leading-[1]\";\n  }\n\n  return (\n    pages &&\n    pages.length > 1 && (\n      <div className=\"mb-0 mt-8 flex lg:mb-4\">\n        <ul className=\"mx-auto flex flex-row overflow-hidden rounded-lg border border-card-border bg-off-white\">\n          {currentPage > 1 && (\n            <li className=\"border-l border-card-border first:border-l-0\">\n              <Link\n                aria-label=\"Previous Page\"\n                className={getPageClassName()}\n                href={getPageLink(currentPage - 1) ?? \"\"}\n              >\n                «\n              </Link>\n            </li>\n          )}\n\n          {pages.map((pageNumber) => (\n            <li\n              key={pageNumber}\n              className=\"border-l border-card-border first:border-l-0\"\n            >\n              <Link\n                aria-label={`Page ${pageNumber}`}\n                className={getPageClassName(pageNumber)}\n                href={getPageLink(pageNumber) ?? \"\"}\n              >\n                {pageNumber}\n              </Link>\n            </li>\n          ))}\n\n          {currentPage < totalPages && (\n            <li className=\"border-l border-card-border first:border-l-0\">\n              <Link\n                aria-label=\"Next Page\"\n                className={getPageClassName()}\n                href={getPageLink(currentPage + 1) ?? \"\"}\n              >\n                »\n              </Link>\n            </li>\n          )}\n        </ul>\n      </div>\n    )\n  );\n};\n\nexport default Pagination;\n","import Image from \"next/image\";\nimport { useRouter } from \"next/router\";\nimport { useEffect, useState } from \"react\";\nimport { Popover } from \"react-tiny-popover\";\n\nimport { SPORTS_MENU } from \"@/config/menus\";\nimport { useAppContext } from \"@/hooks/useAppContext\";\nimport { useKeyPress } from \"@/hooks/useKeyPress\";\nimport caretDark from \"@/public/caret-down-dark.svg\";\nimport caretLight from \"@/public/caret-down-light.svg\";\n\nconst classNames = (...classes) => {\n  return classes.filter(Boolean).join(\" \");\n};\n\nconst NewsPicksSelect = ({ leagueParam }) => {\n  const router = useRouter();\n  const [open, setOpen] = useState(false);\n  const [parentElement, setParentElement] = useState(null);\n  const { newsPick, setNewsPick } = useAppContext();\n  const league = router?.query?.league;\n  const popoverParentId = \"news-pick-select\";\n\n  useEffect(() => {\n    // Set parent element to popover after javascript has been\n    // hydrated on the client side and the document exists\n    const popoverParentElement = document.getElementById(popoverParentId);\n    if (popoverParentElement) {\n      setParentElement(popoverParentElement);\n    }\n  }, [popoverParentId]);\n\n  useEffect(() => {\n    if (leagueParam === \"soccer\") {\n      if (!newsPick) {\n        setNewsPick(SPORTS_MENU[\"soccer\"]);\n      }\n      if (league) {\n        setNewsPick(SPORTS_MENU[league]);\n      }\n    }\n  }, [leagueParam, newsPick, setNewsPick, league]);\n\n  // Close popover if open and escape key is pressed\n  useKeyPress(\"Escape\", open, () => setOpen(false));\n\n  // Set selected league and close popover\n  const onSelect = (option) => {\n    setOpen(false);\n    if (leagueParam === \"soccer\") {\n      setNewsPick(option);\n      if (option?.name === \"All Leagues\") {\n        delete router.query.league;\n      } else {\n        router.query.league = option?.slug;\n      }\n      router.replace(router);\n    }\n  };\n\n  const MenuOptions = ({ divisionMenu }) =>\n    Object.values(divisionMenu).map(\n      (division, index) =>\n        newsPick?.name !== division?.name && (\n          <button\n            key={`menu-item${index}`}\n            onClick={() => onSelect(division)}\n            className={classNames(\n              \"block w-full cursor-pointer px-4 py-2 text-left text-sm hover:bg-[#ccc]\"\n            )}\n          >\n            {division?.name}\n          </button>\n        )\n    );\n\n  const renderOptions =\n    leagueParam === \"soccer\" ? (\n      <MenuOptions divisionMenu={SPORTS_MENU} />\n    ) : null;\n\n  return (\n    <div className=\"relative z-10 inline-block text-left\" id={popoverParentId}>\n      {parentElement && (\n        <Popover\n          isOpen={open}\n          parentElement={parentElement}\n          positions={[\"bottom\"]}\n          align=\"end\"\n          onClickOutside={() => setOpen(false)}\n          content={\n            <div className=\"ring-gray-300 mt-1 w-56 rounded-lg bg-white shadow-lg ring-1 ring-inset\">\n              <div autoFocus={open} className=\"py-1\" id=\"division-menu\">\n                {renderOptions}\n              </div>\n            </div>\n          }\n        >\n          <button\n            className=\"text-gray-900 ring-gray-300 hover:bg-gray-50 inline-flex w-full justify-center gap-x-1.5 rounded-md bg-white px-3 py-2 text-sm font-semibold shadow-sm ring-1 ring-inset\"\n            onClick={() => setOpen((prevOpen) => !prevOpen)}\n          >\n            {leagueParam === \"soccer\" && newsPick?.name}\n            <Image\n              alt=\"Dropdown menu indicator for sports betting information\"\n              height={20}\n              src={open ? caretDark : caretLight}\n              width={20}\n            />\n          </button>\n        </Popover>\n      )}\n    </div>\n  );\n};\n\nexport default NewsPicksSelect;\n","import { useCallback, useEffect } from \"react\";\n\n// A hook that runs a callback function based on a target key\n// being pressed and a condition being met\n\nexport function useKeyPress(targetKey, conditional, callback) {\n  const keyDownHandler = useCallback(\n    (event) => {\n      if (event.key === targetKey && conditional) {\n        callback();\n      }\n    },\n    [targetKey, conditional, callback]\n  );\n  useEffect(() => {\n    window.addEventListener(\"keydown\", keyDownHandler);\n    return () => {\n      window.removeEventListener(\"keydown\", keyDownHandler);\n    };\n  }, [keyDownHandler]);\n}\n","import CardGrid from \"@/components/cardGrid/CardGrid\";\nimport Head from \"@/components/Head\";\nimport Icon from \"@/components/icon/Icon\";\nimport NewsPicksSelect from \"@/components/newsPickSelect/NewsPickSelect\";\nimport Pagination from \"@/components/Pagination\";\nimport { IS_PROD, REVALIDATION_TIME, SOCCER_NEWS } from \"@/config/constants\";\nimport { NAV_MENUS } from \"@/config/menus\";\nimport { useAppContext } from \"@/hooks/useAppContext\";\nimport {\n  getCategoriesForArchivePage,\n  getPostArchives,\n  getPostArchivesByTag,\n} from \"@/pages/api/apiWP\";\nimport { formatImageForSEO } from \"@/utilities/image\";\nimport { addPagesToArchive } from \"@/utilities/pages\";\nimport { formatNewsArticleSchema } from \"@/utilities/seo\";\n\nconst Archive = ({\n  archivePath,\n  archives,\n  currentPage,\n  seo,\n  title,\n  totalPages,\n  tagArchives,\n}) => {\n  const [, category] = archivePath?.split(\"/category/articles/\");\n  const { newsPick } = useAppContext();\n\n  const postsByTag = tagArchives?.filter(\n    (archive) => archive?.tag === newsPick?.slug\n  );\n\n  const renderArchives = () => {\n    if (category !== \"soccer\" || newsPick?.slug === \"soccer\") {\n      return archives;\n    }\n    if (postsByTag?.length > 0) {\n      return postsByTag[0]?.archives;\n    } else {\n      return postsByTag;\n    }\n  };\n  let imagesToPreload = [];\n  const archivesToShow = renderArchives()?.map((item, index) => {\n    if (index < 3) {\n      return { ...item, isImagePrioriy: true };\n    }\n    return item;\n  });\n  if (seo) {\n    seo.newsArticleSchema = formatNewsArticleSchema(seo);\n    const archiveImages = archivesToShow\n      ?.filter((archive) => archive?.featuredImage?.sourceUrl)\n      ?.map((archive) => archive.featuredImage?.sourceUrl)\n      ?.slice(0, 4);\n    imagesToPreload = formatImageForSEO(archiveImages);\n  }\n\n  return (\n    <>\n      <Head seo={seo} imagesToPreload={imagesToPreload} />\n      <div className=\"flex items-start justify-between\">\n        <h1 className=\"mb-8 flex font-heading text-2xl font-bold leading-[1.15] text-nav-blue sm:text-[2rem]\">\n          <Icon\n            className=\"mr-2 h-[32px] w-[40px]\"\n            height={\"32px\"}\n            name={`${category}Category`}\n            color=\"currentColor\"\n            width={\"40px\"}\n          />\n          {title}\n        </h1>\n        {category === \"soccer\" && (\n          <NewsPicksSelect\n            leagueParam={category}\n            articleValues={{ type: \"tagSlugIn\", currentPage }}\n            posts={tagArchives}\n          />\n        )}\n      </div>\n      <CardGrid items={archivesToShow} />\n      <Pagination\n        basePath={archivePath}\n        currentPage={currentPage}\n        totalPages={totalPages}\n      />\n    </>\n  );\n};\n\nexport async function getStaticPaths() {\n  // Avoid these categories to avoid breaking the build (Soccer category is buggy)\n  let paths = [];\n  if (IS_PROD) {\n    const avoidCategories = [\"Shows\", \"Soccer News\"];\n    const menuOptions = NAV_MENUS.News.menuOptions;\n    avoidCategories.forEach((category) => {\n      delete menuOptions[category];\n    });\n    const formattedCategories = Object.values(menuOptions).map((slug) => {\n      if (typeof slug === \"string\") {\n        const cleanedSlug = slug.slice(1, -1);\n        const formattedSlug = cleanedSlug?.replace(/category\\/articles\\//, \"\");\n        return formattedSlug;\n      } else return [];\n    });\n\n    paths = formattedCategories.flatMap((category) =>\n      addPagesToArchive(category)\n    );\n  }\n  return { paths, fallback: \"blocking\" };\n}\n\nexport async function getStaticProps(context) {\n  const params = context?.params?.archive;\n\n  // URL param/path indexes are tracked in order to\n  // handle the case of nested categories. Ex. /soccer/world-cup\n  const categoryIndex = params?.[1] && params?.[1] !== \"page\" ? 1 : 0;\n  const pagePathIndex = categoryIndex + 1;\n  const pageNumberIndex = pagePathIndex + 1;\n\n  // Fetch categories and valid archive category\n  const category = params?.[categoryIndex]?.toLowerCase() || \"\";\n  const categories = await getCategoriesForArchivePage();\n  const archiveCategory = categories?.[category];\n\n  if (!archiveCategory) {\n    return { notFound: true };\n  }\n\n  // Page is a valid archive page if there is no page\n  // number or url matches /page/number\n  const isValidArchivePage =\n    !params?.[pagePathIndex] ||\n    (params?.[pagePathIndex]?.toLowerCase() === \"page\" &&\n      params?.[pageNumberIndex]);\n  // If url is not a valid archive page, redirect to\n  // first page of results if search term provided or\n  // return 404\n  if (!isValidArchivePage) {\n    return params?.[pagePathIndex]?.toLowerCase() === \"page\"\n      ? { redirect: { destination: archiveCategory?.uri } }\n      : { notFound: true };\n  }\n\n  const page = params?.[pageNumberIndex];\n  // Redirect to first page if path is 0 or 1, or not a number\n  if (page && (page === \"0\" || page === \"1\" || isNaN(Number(page)))) {\n    return { redirect: { destination: archiveCategory?.uri } };\n  }\n\n  // Fetch archives based on category and page number\n  const pageNumber = params?.[pageNumberIndex]\n    ? parseInt(params?.[pageNumberIndex]) - 1\n    : 0;\n  const archives = await getPostArchives({\n    type: \"category\",\n    value: category,\n    pageNumber,\n  });\n\n  const categoryPath =\n    categoryIndex === 1 ? `${params?.[0]}/${params?.[1]}` : category;\n\n  let tagArchives = [];\n  if (params?.[0] === \"soccer\") {\n    tagArchives = await Promise.all(\n      SOCCER_NEWS.map((slug) =>\n        getPostArchivesByTag({\n          type: \"tag\",\n          value: slug,\n          pageNumber: pageNumber,\n        })\n      )\n    );\n  }\n\n  return {\n    props: {\n      ...archives,\n      ...tagArchives,\n      tagArchives,\n      totalPages: archives.totalPages + 1,\n      archivePath: `/category/articles/${categoryPath}`,\n      currentPage: params?.[pageNumberIndex]\n        ? parseInt(params?.[pageNumberIndex])\n        : 1,\n      seo: archiveCategory?.seo,\n      title: archiveCategory?.name,\n    },\n    revalidate: REVALIDATION_TIME,\n  };\n}\n\nexport default Archive;\n","export function createSrcSet(url) {\n  const widths = [256, 384, 640, 750, 828, 1080, 1200, 1920, 2048, 3840];\n  const quality = 85;\n  const srcSet = widths\n    .map(\n      (width) =>\n        `/_next/image/?url=${encodeURIComponent(url)}&w=${width}&q=${quality} ${width}w`\n    )\n    .join(\", \");\n\n  return srcSet;\n}\n\nexport function formatImageForSEO(images) {\n  return images.map((image) => ({\n    href: image,\n    sizes: \"(max-width: 600px) 100vw, (max-width: 1200px) 50vw, 33vw\",\n    srcSet: createSrcSet(image),\n  }));\n}\n"],"names":["window","__NEXT_P","push","__webpack_require__","__webpack_exports__","Z","getPageLink","basePath","currentPage","params","totalPages","param","pages","getPageNumbers","page","concat","getPageClassName","length","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","div","className","jsxs","ul","li","Link","aria-label","href","map","pageNumber","classNames","classes","filter","Boolean","join","router","leagueParam","useRouter","open","setOpen","useState","parentElement","setParentElement","newsPick","setNewsPick","useAppContext","league","query","popoverParentId","useEffect","popoverParentElement","document","getElementById","SPORTS_MENU","useKeyPress","onSelect","option","name","slug","replace","renderOptions","divisionMenu","Object","values","division","index","button","onClick","MenuOptions","id","Popover","isOpen","positions","align","onClickOutside","content","autoFocus","prevOpen","Image","alt","height","src","caretDark","caretLight","width","targetKey","conditional","callback","keyDownHandler","useCallback","event","key","addEventListener","removeEventListener","renderArchives","archivesToShow","postsByTag","archivePath","archives","seo","title","tagArchives","category","split","archive","tag","imagesToPreload","item","isImagePrioriy","newsArticleSchema","formatNewsArticleSchema","archiveImages","featuredImage","sourceUrl","slice","formatImageForSEO","Fragment","Head","h1","Icon","color","NewsPicksSelect","articleValues","type","posts","CardGrid","items","Pagination","images","image","sizes","srcSet","widths","encodeURIComponent","quality"],"sourceRoot":""}